Bar code readers are required to read bar codes on objects of a wide variety of sizes wherein the bar codes may be at varying distances from the scanner. This requires a wide range of depths of focus in order to read the bar code clearly and accurately over the entire distance in which they may be presented, typically as much as two meters. In one approach two or more lasers focused at different distances are switched on and off alternately so that only one is on at a time. This requires a switching device to switch between them so that the scan rate is divided by the number of lasers and thus significantly reduced. Thus a faster, more expensive motor is needed to rotate the scanning wheel at a higher rate, or higher speed scanning cannot be done. Alternatively, additional systems may be used to intelligently switch the lasers at optimum times but this is a more complex and expensive approach. In another approach a number of separate scanning channels are used each including its own laser, optics, and receiver which increases cost and complexity. In still another approach mechanical auto focus mechanisms are used but these have many moving parts and are relatively slow, expensive and prone to wear out.